﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Xml.Serialization;

namespace VideoCoreWCF {
    /// <summary>
    /// Used to send/recieve camera details from the player to the Video Core
    /// </summary>
    [DataContract]
    public class IPCamera  {
        [DataMember]
        public Guid ID { get; set; }
        [DataMember]
        public string Name { get; set; }
        [DataMember]
        public string IPAddress { get; set; }
        [DataMember]
        public string UserName { get; set; }
        [DataMember]
        public string Password { get; set; }
        [DataMember]
        public bool OnOff
        {
            get;
            set;
        }
        [DataMember]
        public bool Available
        {
            get;
            set;
        }
        
      //  [DataMember]
      //  public List<NameValuePair> Parameters { get; set; } //used to return firmware/model num and any other info
    }
    /// <summary>
    /// Sent from the video player to the Video Core to request a particular stream
    /// </summary>
    [DataContract]
    public class IPCameraCommand {
        [DataMember]
        public Guid CameraID { get; set; }
        [DataMember]
        public int ReolutionX { get; set; }
        [DataMember]
        public int ReolutionY { get; set; }
        [DataMember]
        public double BitRate { get; set; }
        [DataMember]
        public DateTime PlaybackDateTime { get; set; }
        [DataMember]
        public double PlaybackSpeed { get; set; }
        [DataMember]
        public int Frame {
            get;
            set;
        }
    }
    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class NameValuePair {
        [DataMember]
        public string Name { get; set; }
        [DataMember]
        public string Value { get; set; }
    }
}
